﻿const dgram = require('dgram');


function ProcessUdpServer(port, callback) {

    const server = dgram.createSocket('udp4');
    server.on('error', function (err) {
        console.log("udp server error:\n", err);
        server.close();
    });

    server.on('message', function (msg,rinfo) {
        // console.log("server got: ", msg);
        if (msg != null ) {
            if(callback!=null){  
                callback(msg);          
                // var result = callback(msg);
                // result += '';
                // console.log('result',result);
                // server.send(result, 0, result.length, rinfo.port, 'localhost');
            }
        }
    });
    server.on('listening', function () {
        const address = server.address();
        console.log("server listening ${address.address}:${address.port}");
    });

    server.bind(port);
}


exports.ProcessUdpServer = ProcessUdpServer;
